﻿using System.Collections.Generic;

namespace Jinjia.Approve.Model.VM.JJFlow
{
    /// <summary>
    /// BPMxml对应实体模型
    /// </summary>
    public class JJFlowBPMProcessVM
    {
        public JJFlowBPMProcessVM()
        {
            StartEvent = new JJFlowBPMStartEventVM();
            EndEvents = new List<JJFlowBPMEndEventVM>();
            UserTasks = new List<JJFlowBPMUserTaskVM>();
            SequenceFlows = new List<JJFlowBPMSequenceFlowVM>();
            ExclusiveGateways = new List<JJFlowBPMExclusiveGatewayVM>();
            NodeList = new Dictionary<string, int>();
            TargetList = new Dictionary<string, List<string>>();
        }

        /// <summary>
        /// 开始节点
        /// </summary>
        public JJFlowBPMStartEventVM StartEvent { get; set; }

        /// <summary>
        /// 结束节点
        /// </summary>
        public List<JJFlowBPMEndEventVM> EndEvents { get; set; }

        /// <summary>
        /// 用户任务审批节点
        /// </summary>
        public List<JJFlowBPMUserTaskVM> UserTasks { get; set; }

        /// <summary>
        /// 节点连线
        /// </summary>
        public List<JJFlowBPMSequenceFlowVM> SequenceFlows { get; set; }

        /// <summary>
        /// if条件
        /// </summary>
        public List<JJFlowBPMExclusiveGatewayVM> ExclusiveGateways { get; set; }

        /// <summary>
        /// 节点列表
        /// </summary>
        public Dictionary<string, int> NodeList { get; set; }

        /// <summary>
        /// 节点对应下一节点列表
        /// </summary>
        public Dictionary<string, List<string>> TargetList { get; set; }
    }
}